package explore.jqq.list;
//给你一个整数数组nums，请编写一个能够返回数组 “中心下标” 的方法。
//数组 中心下标 是数组的一个下标，其左侧所有元素相加的和等于右侧所有元素相加的和。
//如果数组不存在中心下标，返回 -1 。如果数组有多个中心下标，应该返回最靠近左边的那一个。
//注意：中心下标可能出现在数组的两端。
//示例
//        输入：nums = [1, 7, 3, 6, 5, 6]
//        输出：3
//        解释：
//        中心下标是 3 。
//        左侧数之和 (1 + 7 + 3 = 11)，
//        右侧数之和 (5 + 6 = 11) ，二者相等。

public class FindCenterIndex {
    public static void main(String[] args) {
        FindCenterIndex findCenterIndex = new FindCenterIndex();
        int i = findCenterIndex.pivotIndex(new int[]{2, -1,1});
        System.out.println(i);
    }

    public int cal_sum(int n,int m,int[] a){
        int sum=0;
        for(int i=n;i<m;i++){
            sum+=a[i];
        }
        return sum;
    }

    public int pivotIndex(int[] nums) {
        int suml = 0;
        int sumr = 0;
        for(int j=1;j<nums.length;j++)
        {
            sumr = sumr + nums[j];
        }
        for(int i=0;i<nums.length;i++)
        {
            if(suml == sumr){
                return i;
            }
            suml = suml + nums[i];
            if(i==nums.length-1){
                sumr=0;
            }else {
                sumr = sumr - nums[i+1];
            }
        }
        return -1;
    }

}
